package com.ruoyi.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * 设备信息对象 tb_device
 *
 * @author ruoyi
 * @date 2025-07-23
 */
@Data
@Schema(description = "设备信息对象")
public class TbDevice extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 自增主键
     */
    @Schema(description = "自增主键")
    private Long id;

    /**
     * 设备SN编号
     */
    @Schema(description = "设备SN编号")
    @Excel(name = "设备SN编号")
    @NotNull(message = "设备SN编号不能为空")
    private String devSn;

    /** 所属飞机号(关联tb_airplane.plane_code) */
    @Excel(name = "所属飞机号(关联tb_airplane.plane_code)")
    @Schema(description = "所属飞机号(关联tb_airplane.plane_code)")
    private String airplaneCode;
    /**
     * 部件编号
     */
    @Schema(description = "部件编号")
    @Excel(name = "部件编号")
    @NotNull(message = "部件编号不能为空")
    private String devPartNum;




    /** 注册状态 0   未注册 , 1 已注册 */
    @Excel(name = " ")
    private Integer registrationStatus;

    /** 登记状态    0 未登记  1 已登记 */
    @Excel(name = " 登记状态 0   未登记 , 1 已登记")
    private Integer recordStatus;



    /** 登记时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Schema(description = "登记时间")
    @Excel(name = "登记时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date registrationTime;



    /** 登记时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Excel(name = "登记时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date recordTime;

}
